home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / programming / e / lsestuff / ils.e < prev    next >
Text File  |  1999-11-29  |  1KB  |  68 lines

  1. OPT MODULE
  2.  
  3. MODULE 'leifoo/nm'
  4. MODULE 'leifoo/nmIList'
  5. MODULE 'leifoo/nmList'
  6. MODULE 'mymods/bits'
  7. MODULE 'leifoo/elements'
  8.  
  9.  
  10. EXPORT OBJECT network
  11.    elements:PTR TO nmIList
  12.    user_connects:PTR TO nmList
  13.    user_assigns:PTR TO nmList
  14. ENDOBJECT
  15.  
  16. PROC applyAssigns() OF network
  17.    DEF a:PTR TO user_assign
  18.    DEF e:PTR TO element
  19.    a := self.user_assigns.first()
  20.    WHILE a
  21.       e := self.elements.find(a.toelementID)
  22.       IF e THEN e.setInputLevel(a.toinput, a.level)
  23.       a .= a.next
  24.    ENDWHILE
  25. ENDPROC
  26.  
  27.  
  28. EXPORT OBJECT user_assign OF nm
  29.    toelementID
  30.    level
  31.    toinput:INT
  32. ENDOBJECT
  33.  
  34.  
  35.  
  36. EXPORT OBJECT user_connect OF nm
  37.    fromelementID
  38.    toelementID
  39.    toinput:INT
  40. ENDOBJECT
  41.  
  42.  
  43. PROC connectElements() OF network
  44.    DEF con:PTR TO user_connect
  45.    DEF fe:PTR TO element
  46.    DEF te
  47.    self.disconnectElements()
  48.    con := self.user_connects.first()
  49.    WHILE con
  50.       fe := self.elements.find(con.fromelementID)
  51.       IF fe
  52.          te := self.elements.find(con.toelementID)
  53.          IF te
  54.             fe.setTransfer(te, con.toinput)
  55.          ENDIF
  56.       ENDIF
  57.    ENDWHILE
  58. ENDPROC
  59.  
  60. PROC disconnectElements() OF network
  61.    DEF e:PTR TO element
  62.    e := self.elements.first()
  63.    WHILE e
  64.       e.clearTransfers()
  65.       e := e.next
  66.    ENDWHILE
  67. ENDPROC
  68.